home *** CD-ROM | disk | FTP | other *** search
/ Power CD / Power CD ATARI-Rechner Lieben.iso / APPS / PD / EMACS / CALC.CMD < prev    next >
Encoding:
Text File  |  1989-03-03  |  4.8 KB  |  269 lines

  1. ; UPN-Rechner auf Keypad (HP - like)
  2.  
  3. ; V. 1.0 Peter Hakenberg
  4.  
  5. ; ( 16-Bit-Integer-Arithmetik, ohne Speicher)
  6.  
  7. ; Belegt Makros 10 bis 31
  8.  
  9.  
  10.  
  11. ; Rechner anschalten
  12.  
  13. 28 store-macro
  14.  
  15.     set %keypad $keypad
  16.  
  17.     set $keypad TRUE
  18.  
  19.     bind-to-key execute-macro-10 FNp
  20.  
  21.     bind-to-key execute-macro-11 FNm
  22.  
  23.     bind-to-key execute-macro-12 FNn
  24.  
  25.     bind-to-key execute-macro-13 FNo
  26.  
  27.     bind-to-key execute-macro-14 FNj
  28.  
  29.     bind-to-key execute-macro-15 FNk
  30.  
  31.     bind-to-key execute-macro-16 FNl
  32.  
  33.     bind-to-key execute-macro-17 FNg
  34.  
  35.     bind-to-key execute-macro-18 FNh
  36.  
  37.     bind-to-key execute-macro-19 FNi
  38.  
  39.     bind-to-key execute-macro-20 FNr
  40.  
  41.     bind-to-key execute-macro-21 FNN
  42.  
  43.     bind-to-key execute-macro-22 FNJ
  44.  
  45.     bind-to-key execute-macro-23 FNe
  46.  
  47.     bind-to-key execute-macro-24 FNf
  48.  
  49.     bind-to-key execute-macro-27 FNc
  50.  
  51.     bind-to-key execute-macro-29 FNq
  52.  
  53.     bind-to-key execute-macro-30 FNd
  54.  
  55.     set %flag 1
  56.  
  57.     write-message %x
  58.  
  59.    !endm
  60.  
  61.  
  62.  
  63. ; Rechner ausschalten Standard-Belegung herstellen
  64.  
  65. 29 store-macro
  66.  
  67.     set $keypad %keypad
  68.  
  69.     bind-to-key begin-macro FNc
  70.  
  71.     bind-to-key end-macro    FNd
  72.  
  73.     unbind-key FNe
  74.  
  75.     unbind-key FNf
  76.  
  77.     bind-to-key previous-paragraph    FNg
  78.  
  79.     bind-to-key previous-page     FNh
  80.  
  81.     bind-to-key beginning-of-file    FNi
  82.  
  83.     bind-to-key previous-word    FNj
  84.  
  85.     unbind-key FNk
  86.  
  87.     bind-to-key next-word        FNl
  88.  
  89.     bind-to-key next-paragraph    FNm
  90.  
  91.     bind-to-key next-page        FNn
  92.  
  93.     bind-to-key end-of-file        FNo
  94.  
  95.     unbind-key FNp
  96.  
  97.     bind-to-key execute-macro-28    FNq
  98.  
  99.     unbind-key FNr
  100.  
  101.     bind-to-key grow-window        FNN
  102.  
  103.     bind-to-key shrink-window    FNJ
  104.  
  105.     write-message "[Rechner aus]"
  106.  
  107.    !endm
  108.  
  109.  
  110.  
  111. ; Tasten 0 bis 9
  112.  
  113.  
  114.  
  115. 10 store-macro
  116.  
  117.     !if &equ %flag 2
  118.  
  119.         execute-macro-20
  120.  
  121.     !endif
  122.  
  123.     !if &gre %flag 0
  124.  
  125.         set %x 0
  126.  
  127.         set %flag 0
  128.  
  129.     !endif
  130.  
  131.     set %x &tim %x 10
  132.  
  133.     write-message %x
  134.  
  135.    !endm
  136.  
  137.  
  138.  
  139. 11 store-macro
  140.  
  141.     !if &equ %flag 2
  142.  
  143.         execute-macro-20
  144.  
  145.     !endif
  146.  
  147.     !if &gre %flag 0
  148.  
  149.         set %x 0
  150.  
  151.         set %flag 0
  152.  
  153.     !endif
  154.  
  155.     set %x &add &tim %x 10  1
  156.  
  157.     write-message %x
  158.  
  159.    !endm
  160.  
  161.  
  162.  
  163. 12 store-macro
  164.  
  165.     !if &equ %flag 2
  166.  
  167.         execute-macro-20
  168.  
  169.     !endif
  170.  
  171.     !if &gre %flag 0
  172.  
  173.         set %x 0
  174.  
  175.         set %flag 0
  176.  
  177.     !endif
  178.  
  179.     set %x &add &tim %x 10  2
  180.  
  181.     write-message %x
  182.  
  183.    !endm
  184.  
  185.  
  186.  
  187. 13 store-macro
  188.  
  189.     !if &equ %flag 2
  190.  
  191.         execute-macro-20
  192.  
  193.     !endif
  194.  
  195.     !if &gre %flag 0
  196.  
  197.         set %x 0
  198.  
  199.         set %flag 0
  200.  
  201.     !endif
  202.  
  203.     set %x &add &tim %x 10  3
  204.  
  205.     write-message %x
  206.  
  207.    !endm
  208.  
  209.  
  210.  
  211. 14 store-macro
  212.  
  213.     !if &equ %flag 2
  214.  
  215.         execute-macro-20
  216.  
  217.     !endif
  218.  
  219.     !if &gre %flag 0
  220.  
  221.         set %x 0
  222.  
  223.         set %flag 0
  224.  
  225.     !endif
  226.  
  227.     set %x &add &tim %x 10  4
  228.  
  229.     write-message %x
  230.  
  231.    !endm
  232.  
  233.  
  234.  
  235. 15 store-macro
  236.  
  237.     !if &equ %flag 2
  238.  
  239.         execute-macro-20
  240.  
  241.     !endif
  242.  
  243.     !if &gre %flag 0
  244.  
  245.         set %x 0
  246.  
  247.         set %flag 0
  248.  
  249.     !endif
  250.  
  251.     set %x &add &tim %x 10  5
  252.  
  253.     write-message %x
  254.  
  255.    !endm
  256.  
  257.  
  258.  
  259. 16 store-macro
  260.  
  261.     !if &equ %flag 2
  262.  
  263.         execute-macro-20
  264.  
  265.     !endif
  266.  
  267.     !if &gre %flag 0
  268.  
  269.         set %x 0
  270.  
  271.         set %flag 0
  272.  
  273.     !endif
  274.  
  275.     set %x &add &tim %x 10  6
  276.  
  277.     write-message %x
  278.  
  279.    !endm
  280.  
  281.  
  282.  
  283. 17 store-macro
  284.  
  285.     !if &equ %flag 2
  286.  
  287.         execute-macro-20
  288.  
  289.     !endif
  290.  
  291.     !if &gre %flag 0
  292.  
  293.         set %x 0
  294.  
  295.         set %flag 0
  296.  
  297.     !endif
  298.  
  299.     set %x &add &tim %x 10  7
  300.  
  301.     write-message %x
  302.  
  303.    !endm
  304.  
  305.  
  306.  
  307. 18 store-macro
  308.  
  309.     !if &equ %flag 2
  310.  
  311.         execute-macro-20
  312.  
  313.     !endif
  314.  
  315.     !if &gre %flag 0
  316.  
  317.         set %x 0
  318.  
  319.         set %flag 0
  320.  
  321.     !endif
  322.  
  323.     set %x &add &tim %x 10  8
  324.  
  325.     write-message %x
  326.  
  327.    !endm
  328.  
  329.  
  330.  
  331. 19 store-macro
  332.  
  333.     !if &equ %flag 2
  334.  
  335.         execute-macro-20
  336.  
  337.     !endif
  338.  
  339.     !if &gre %flag 0
  340.  
  341.         set %x 0
  342.  
  343.         set %flag 0
  344.  
  345.     !endif
  346.  
  347.     set %x &add &tim %x 10  9
  348.  
  349.     write-message %x
  350.  
  351.    !endm
  352.  
  353.  
  354.  
  355. ;ENTER-Taste
  356.  
  357. 20 store-macro
  358.  
  359.     set %t %z
  360.  
  361.     set %z %y
  362.  
  363.     set %y %x
  364.  
  365.     set %flag 1
  366.  
  367.     write-message %x
  368.  
  369.    !endm
  370.  
  371.  
  372.  
  373.  
  374.  
  375. ; Rechenoperationen
  376.  
  377.  
  378.  
  379. 21 store-macro
  380.  
  381.     set %x &add %x %y
  382.  
  383.     set %y %z
  384.  
  385.     set %z %t
  386.  
  387.     set %flag 2
  388.  
  389.     write-message %x
  390.  
  391.    !endm
  392.  
  393.  
  394.  
  395. 22 store-macro
  396.  
  397.     !if &gre flag 0
  398.  
  399.         set %x &sub 0 %x
  400.  
  401.     !else
  402.  
  403.     set %x &sub %y %x
  404.  
  405.     set %y %z
  406.  
  407.     set %z %t
  408.  
  409.     !endif
  410.  
  411.     set %flag 2
  412.  
  413.     write-message %x
  414.  
  415.    !endm
  416.  
  417.  
  418.  
  419. 23 store-macro
  420.  
  421.     set %x &div %y %x
  422.  
  423.     set %y %z
  424.  
  425.     set %z %t
  426.  
  427.     set %flag 2
  428.  
  429.     write-message %x
  430.  
  431.    !endm
  432.  
  433.  
  434.  
  435. 24 store-macro
  436.  
  437.     set %x &tim %x %y
  438.  
  439.     set %y %z
  440.  
  441.     set %z %t
  442.  
  443.     set %flag 2
  444.  
  445.     write-message %x
  446.  
  447.    !endm
  448.  
  449.  
  450.  
  451. ; clx - Auf Taste <keypad>-'('
  452.  
  453. 27 store-macro
  454.  
  455.     !if &gre %flag 0
  456.  
  457.         set %x 0
  458.  
  459.     !else
  460.  
  461.         set %x &div %x 10
  462.  
  463.     !endif
  464.  
  465.     write-message %x
  466.  
  467.    !endm
  468.  
  469.  
  470.  
  471. ; roll down - Auf Taste <keypad>-')'
  472.  
  473. 30 store-macro
  474.  
  475.     set %flag 2
  476.  
  477.     set %h %x
  478.  
  479.     set %x %y
  480.  
  481.     set %y %z
  482.  
  483.     set %z %t
  484.  
  485.     set %t %h
  486.  
  487.     write-message %x
  488.  
  489.    !endm
  490.  
  491.  
  492.  
  493. ; roll up
  494.  
  495. ;31 store-macro
  496.  
  497. ;    set %flag 2
  498.  
  499. ;    set %h %x
  500.  
  501. ;    set %x %t
  502.  
  503. ;    set %t %z
  504.  
  505. ;    set %z %y
  506.  
  507. ;    set %y %h
  508.  
  509. ;    write-message %x
  510.  
  511. ;   !endm
  512.  
  513.     
  514.  
  515.  
  516.  
  517. ; Initialisierung
  518.  
  519. ; <Keypad>-'.' schaltet Rechner an und aus
  520.  
  521. set %x 0
  522.  
  523. bind-to-key execute-macro-28 FNq
  524.  
  525. update-screen
  526.  
  527. !if $keypad
  528.  
  529.     write-message "[Rechner installiert. ON : <Keypad>-'.']"
  530.  
  531. !else
  532.  
  533.     write-message "[Rechner installiert. ON : 'execute-macro-28']"
  534.  
  535. !endif
  536.  
  537.